package br.loja.repositories;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.Persistence;
import javax.persistence.Query;

import br.loja.entidades.Usuario;

public class UsuarioRepository {

	private EntityManager manager = Persistence.createEntityManagerFactory(
			"veiculos").createEntityManager();

	public Usuario getUsuario(int id) {
		return this.manager.find(Usuario.class, id);
	}

	public List<Usuario> listar() {
		Query q = this.manager.createQuery("select u from Usuario");
		@SuppressWarnings("unchecked")
		List<Usuario> usuarios = q.getResultList();
		return usuarios;
	}

	public void excluir(Usuario usuario) {
		this.manager.remove(usuario);
	}

	public Usuario checarDadosCadastrais(String email, String senha) {
		Usuario usuario;
		Query q = this.manager.createQuery("select u from Usuario u "
				+ "where u.email = :email " + "and u.senha = :senha");
		q.setParameter("email", email);
		q.setParameter("senha", senha);
		try {
			usuario = (Usuario)q.getSingleResult();
		} catch (NoResultException e) {
			return null;
		}
		
		return usuario;			
	}
}
